package Control; import javax.swing.JOptionPane; import javax.swing.JPasswordField; import javax.swing.JTextField; import BankEntity.AllDataTable; import BankEntity.Bank; import BankEntity.SpecificClientTable; import GraphicUserInterface.OutputFrame; public class Actions { private Bank bank; public Actions() { bank = new Bank(); } public void addAClient() { JTextField nameField = new JTextField(10); JTextField passwordField = new JPasswordField(10); JTextField accountTypeField = new JTextField(10); Object[] message = { "Client name", nameField, "Password", passwordField, "Account type", accountTypeField }; int confirmation = JOptionPane.showConfirmDialog(null, message, "Add a new Client", JOptionPane.OK_CANCEL_OPTION); if (confirmation == JOptionPane.OK_OPTION) { boolean validInput = true; if (nameField.getText().isEmpty()) validInput = false; if (passwordField.getText().isEmpty()) validInput = false; if (accountTypeField.getText().isEmpty()) validInput = false; if (validInput) { bank.addClient(nameField.getText(), passwordField.getText(), accountTypeField.getText()); JOptionPane.showMessageDialog(null, "Client successfully added !", "Success !", JOptionPane.INFORMATION_MESSAGE); AllDataTable adt = new AllDataTable(); new OutputFrame(adt.getTable(), "All Clients Data"); } else { JOptionPane.showMessageDialog(null, "Invalid input", "ERROR: invalid input", JOptionPane.ERROR_MESSAGE); } } } public void removeAClient() { String clientName = JOptionPane.showInputDialog("Name of the client"); if (!clientName.equals(null)) { bank.removeClient(clientName); AllDataTable adt = new AllDataTable(); new OutputFrame(adt.getTable(), "All Clients Data"); } else { JOptionPane.showMessageDialog(null, "Pleae snter a name", "ERROR: input", JOptionPane.ERROR_MESSAGE); } } public void viewAllClients() { AllDataTable adt = new AllDataTable(); new OutputFrame(adt.getTable(), "All Clients Data"); } public void viewOneClient() { String name = JOptionPane.showInputDialog("Client's name"); if (!name.equals(null)) { SpecificClientTable sct = new SpecificClientTable(name); new OutputFrame(sct.getTable(), "All Clients Data"); } } public void addAnAccount() { JTextField nameField = new JTextField(10); JTextField typeField = new JTextField(10); Object[] message = { "Client's name", nameField, "Account type", typeField }; int confirmation = JOptionPane.showConfirmDialog(null, message, "Add a new account", JOptionPane.OK_CANCEL_OPTION); boolean validInput = true; if (confirmation == JOptionPane.OK_OPTION) { if (nameField.getText().equals(null)) validInput = false; if (typeField.getText().equals(null)) validInput = false; if (validInput) { bank.addAccount(nameField.getText(), typeField.getText()); JOptionPane.showMessageDialog(null, "Account successfully added !", "Success !", JOptionPane.INFORMATION_MESSAGE); } } } public void removeAnAccount() { JTextField nameField = new JTextField(10); JTextField idField = new JTextField(10); Object[] message = { "Client's name", nameField, "Account ID", idField }; int confirmation = JOptionPane.showConfirmDialog(null, message, "Remove an account", JOptionPane.OK_CANCEL_OPTION); boolean validInput = true; if (confirmation == JOptionPane.OK_OPTION) { if (nameField.getText().equals(null)) validInput = false; if (idField.getText().equals(null)) validInput = false; if (validInput) { bank.removeAccount(nameField.getText(), idField.getText()); JOptionPane.showMessageDialog(null, "Account successfully removed !", "Success !", JOptionPane.INFORMATION_MESSAGE); } } } public void addDatMoney(String client) { JTextField sumField = new JTextField(10); JTextField accountField = new JTextField(10); Object[] message = { "Sum to be added", sumField, "Account ID", accountField }; int confirmation = JOptionPane.showConfirmDialog(null, message, "Add money", JOptionPane.OK_CANCEL_OPTION); if (confirmation == JOptionPane.OK_OPTION) { if ((!sumField.getText().equals(null)) && (!accountField.getText().equals(null))) { double money = 0.0; try { money = Double.parseDouble(sumField.getText()); } catch (NumberFormatException e) { JOptionPane.showMessageDialog(null, "Invalid sum !", "ERROR", JOptionPane.ERROR_MESSAGE); } bank.addCash(client, accountField.getText(), money); } } } public void takeDatMoney(String client) { JTextField sumField = new JTextField(10); JTextField accountField = new JTextField(10); Object[] message = { "Sum to be withdrawn", sumField, "Account ID", accountField }; int confirmation = JOptionPane.showConfirmDialog(null, message, "Withdraw money", JOptionPane.OK_CANCEL_OPTION); if (confirmation == JOptionPane.OK_OPTION) { if ((!sumField.getText().equals(null)) && (!accountField.getText().equals(null))) { double money = 0.0; try { money = Double.parseDouble(sumField.getText()); } catch (NumberFormatException e) { JOptionPane.showMessageDialog(null, "Invalid sum !", "ERROR", JOptionPane.ERROR_MESSAGE); } bank.withdrawCash(client, accountField.getText(), money); } } } public void viewClientDetails(String client) { bank.generateReport(client); } }